--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / messages / MessageReactionsOverlay.vue
Displaying Raw • Download
meshchatx/src/frontend/components/messages/MessageReactionsOverlay.vue master (96b397dc) Text, 4.31 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0 Tff7b72|| Te6edf3showReactButtonTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"pointer-events-auto absolute z-20 flex w-fit max-w-[calc(100%-0.75rem)] flex-nowrap items-center gap-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3isOutbound Tff7b72? Ta5d6ff'right-2 justify-end' Tff7b72: Ta5d6ff'left-2 justify-start'Tb4b4b4,
Te6edf3elevated Tff7b72? Ta5d6ff'bottom-9 translate-y-0' Tff7b72: Ta5d6ff'bottom-0 translate-y-1/2'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3chipTb4b4b4, Te6edf3chipIdxTb4b4b4) Tff7b72in Te6edf3reactionChipsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3chipTb4b4b4.Te6edf3keyTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex min-h-4.5 min-w-4.5 shrink-0 cursor-default select-none items-center justify-center rounded-full border border-gray-200/90 bg-white px-1 py-0 text-sm leading-none shadow-sm ring-1 ring-white/90 dark:border-zinc-600/90 dark:bg-zinc-900 dark:ring-zinc-800/90"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3chipTb4b4b4.Te6edf3kind Tff7b72=== Ta5d6ff'more' Tff7b72? Ta5d6ff'text-[10px] font-semibold text-gray-500 dark:text-zinc-400' Tff7b72: Ta5d6ff''Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3isOutbound Tff7b72? Te6edf3chipIdx Tff7b72+ T79c0ff2 Tff7b72: Te6edf3chipIdx Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3chipTb4b4b4.Te6edf3kind Tff7b72=== Ta5d6ff'reaction' Tff7b72? Te6edf3reactionTitleTb4b4b4(Te6edf3chipTb4b4b4.Te6edf3reactionTb4b4b4) Tff7b72: Ta5d6ff''Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3chipTb4b4b4.Te6edf3kind Tff7b72=== Ta5d6ff"more" Tff7b72? Ta5d6ff`Ta5d6ff+Tffd700${Te6edf3hiddenReactionCountTffd700}Ta5d6ff` Tff7b72: Te6edf3chipTb4b4b4.Te6edf3reactionTff7b72?Tb4b4b4.Te6edf3emoji Tff7b72|| Ta5d6ff"" Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3showReactButtonTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex shrink-0 items-center justify-center rounded-full border border-dashed border-gray-300 bg-white/95 text-xs leading-none text-gray-400 opacity-0 shadow-sm ring-1 ring-white/90 hover:border-gray-400 hover:text-gray-600 hover:bg-gray-50 group-hover:opacity-100 dark:border-zinc-600 dark:bg-zinc-900/95 dark:text-zinc-500 dark:ring-zinc-800/90 dark:hover:border-zinc-500 dark:hover:text-zinc-300 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0 Tff7b72? Ta5d6ff'min-h-4.5 min-w-4.5 px-1 py-0' Tff7b72: Ta5d6ff'h-4 w-4 min-h-0 p-0'Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3isOutbound Tff7b72? T79c0ff1 Tff7b72: Te6edf3reactionChipsTb4b4b4.Te6edf3length Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.react'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3openReactionPickerTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"emoticon-plus-outline" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72const Te6edf3MAX_VISIBLE_REACTIONS Tff7b72= T79c0ff4Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"MessageReactionsOverlay"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3reactionsTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ArrayTb4b4b4,
Tff7b72defaultTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isOutboundTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3chatItemTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3cvTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3showReactButtonTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3elevatedTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3visibleReactionsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3list Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3reactionsTb4b4b4) Tff7b72? Tff7b72thisTb4b4b4.Te6edf3reactions Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3listTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3rTb4b4b4) Tb4b4b4=> Te6edf3r Tff7b72&& Tff7b72typeof Te6edf3r Tff7b72=== Ta5d6ff"object"Tb4b4b4)Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3MAX_VISIBLE_REACTIONSTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hiddenReactionCountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3list Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3reactionsTb4b4b4) Tff7b72? Tff7b72thisTb4b4b4.Te6edf3reactions Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3valid Tff7b72= Te6edf3listTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3rTb4b4b4) Tb4b4b4=> Te6edf3r Tff7b72&& Tff7b72typeof Te6edf3r Tff7b72=== Ta5d6ff"object"Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3validTb4b4b4.Te6edf3length Tff7b72- Te6edf3MAX_VISIBLE_REACTIONSTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3reactionChipsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3chips Tff7b72= Tff7b72thisTb4b4b4.Te6edf3visibleReactionsTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3rTb4b4b4, Te6edf3idxTb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3kindTff7b72: Ta5d6ff"reaction"Tb4b4b4,
Te6edf3keyTff7b72: Te6edf3rTb4b4b4.Te6edf3reactionHash Tff7b72|| Ta5d6ff`Ta5d6ffreaction-Tffd700${Te6edf3idxTffd700}Ta5d6ff-Tffd700${Te6edf3rTb4b4b4.Te6edf3emoji Tff7b72|| Ta5d6ff""Tffd700}Ta5d6ff-Tffd700${Te6edf3rTb4b4b4.Te6edf3sender Tff7b72|| Ta5d6ff""Tffd700}Ta5d6ff`Tb4b4b4,
Te6edf3reactionTff7b72: Te6edf3rTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3hiddenReactionCount Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3chipsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3kindTff7b72: Ta5d6ff"more"Tb4b4b4, Te6edf3keyTff7b72: Ta5d6ff"reaction-more" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3chipsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3reactionTitleTb4b4b4(Te6edf3reactionTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3reaction Tff7b72|| Tff7b72typeof Tff7b72thisTb4b4b4.Te6edf3cvTff7b72?Tb4b4b4.Te6edf3reactionReactorLabel Tff7b72!== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3cvTb4b4b4.Te6edf3reactionReactorLabelTb4b4b4(Te6edf3reactionTb4b4b4.Te6edf3senderTb4b4b4) Tff7b72|| Ta5d6ff""Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────